home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / accs / slectric / doku / fsel_inp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-04  |  2.3 KB  |  65 lines

  1. /* ------------------------------------------------------------------------- */
  2. /* ----- fsel_inp.h ------------------------ (c) 1992 by Oliver Scheel ----- */
  3. /* ------------------------------------------------------------------------- */
  4.  
  5. #ifndef __FSELLIB__
  6. #define __FSELLIB__
  7.  
  8. #include <tos.h>
  9. #include <aes.h>
  10.  
  11. #define CMD_FILES_OUT    0x01        /* return filelist */
  12. #define CFG_ONESTRING    0x02        /* return list in one string */
  13. #define CFG_FIRSTNEXT    0x08
  14.  
  15. /* ------------------------------------------------------------------------- */
  16. /* ----- Selectric Structure ----------------------------------------------- */
  17. /* ------------------------------------------------------------------------- */
  18.  
  19. typedef struct
  20. {
  21.     unsigned long    id;        /* Selectric ID (SLCT)        */
  22.     unsigned int    version;    /* version (BCD-Format)        */
  23.     struct
  24.     {
  25.         unsigned     : 8;    /* reserved            */
  26.         unsigned pthsav : 1;    /* save GEMDOS paths        */
  27.         unsigned stdest : 1;    /* stay in destination path    */
  28.         unsigned autloc : 1;    /* auto-locator            */
  29.         unsigned numsrt    : 1;    /* numsort            */
  30.         unsigned lower    : 1;    /* use lowercase letters    */
  31.         unsigned dclick    : 1;    /* open folder on dclick    */
  32.         unsigned hidden : 1;    /* show hidden files        */
  33.         unsigned bypass : 1;    /* Selectric ON/OFF        */
  34.     } config;
  35.     int    sort;            /* sort-mode (neg. = rev.)    */
  36.     int    num_ext;        /* number of extensions        */
  37.     char    *(*ext)[];        /* preset extensions        */
  38.     int    num_paths;        /* number of paths        */
  39.     char    *(*paths)[];        /* preset paths            */
  40.     int    comm;            /* communication word        */
  41.     int    in_count;        /* input counter        */
  42.     void    *in_ptr;        /* input pointer        */
  43.     int    out_count;        /* output counter        */
  44.     void    *out_ptr;        /* output pointer        */
  45.     int    cdecl    (*get_first)(DTA *dta, int attrib);
  46.     int    cdecl     (*get_next)(DTA *dta);
  47.     int    cdecl    (*release_dir)(void);
  48. } SLCT_STR;
  49.  
  50. /* ------------------------------------------------------------------------- */
  51.  
  52. extern SLCT_STR    *slct;
  53.  
  54. long *get_cookie(long cookie);
  55. int fsel_check(void);
  56. int slct_check(unsigned int version);
  57. int file_select(char *pfname, char *pname, char *fname, const char *ext, char *title);
  58. int slct_extpath(int ext_num, char *(*ext)[], int path_num, char *(*paths)[]);
  59. int slct_morenames(int mode, int num, void *str);
  60. int slct_first(DTA *mydta, int attr);
  61. int slct_next(DTA *mydta);
  62. int slct_release(void);
  63.  
  64. #endif
  65.